package clue

type AddCustomersResponse struct {
	IsSuccess bool `json:"is_success"`
}

type SaveClueResponse struct {
	Id int64 `json:"id"`
}

type DeleteClueResponse struct {
	IsSuccess bool `json:"is_success"`
}

type ClueListItem struct {
	Id               int64       `json:"id"`
	ContactName      string      `json:"contact_name"`
	ContactMobile    string      `json:"contact_mobile"`
	ContactPosition  string      `json:"contact_position"`
	Status           int32       `json:"status"`
	CompanyName      string      `json:"company_name"`
	OrganizingCode   string      `json:"organizing_code"`
	Source           int32       `json:"source"`
	SourceId         string      `json:"source_id"`
	SourceTitle      string      `json:"source_title"`
	CreatedUsername  string      `json:"created_username"`
	CreatedTime      string      `json:"created_time"`
	InChargeUsername string      `json:"in_charge_username"`
	Address          string      `json:"address"`
	HasHumanFollow   bool        `json:"has_human_follow"`
	LatestFollow     *FollowInfo `json:"latest_follow"`
}

type FollowInfo struct {
	FollowTime   string `json:"follow_time"`
	Content      string `json:"content"`
	FollowerName string `json:"follower_name"`
}

type GetClueListResponse struct {
	Total int32           `json:"total"`
	List  []*ClueListItem `json:"list"`
}

type ExportClueListResponse struct {
	JobId int64 `json:"job_id"`
}

type GetClueDetailByIdResponse struct {
	Id               int64  `json:"id"`
	ContactName      string `json:"contact_name"`
	ContactMobile    string `json:"contact_mobile"`
	ContactPosition  string `json:"contact_position"`
	Status           int32  `json:"status"`
	CompanyName      string `json:"company_name"`
	OrganizingCode   string `json:"organizing_code"`
	CompanyType      string `json:"company_type"`
	LegalName        string `json:"legal_name"`
	EstablishDate    string `json:"establish_date"`
	CompanyAddress   string `json:"company_address"`
	ProvinceCode     string `json:"province_code"`
	CityCode         string `json:"city_code"`
	Address          string `json:"address"`
	Source           int32  `json:"source"`
	SourceId         string `json:"source_id"`
	SourceTitle      string `json:"source_title"`
	CreatedUsername  string `json:"created_username"`
	CreatedTime      string `json:"created_time"`
	InChargeUsername string `json:"in_charge_username"`
	InChargeUserId   int64  `json:"in_charge_user_id"`
	HasHumanFollow   bool   `json:"has_human_follow"`
}

type SaveClueTrackerResponse struct {
	Id int64 `json:"id"`
}

type DeleteClueTrackerResponse struct {
	IsSuccess bool `json:"is_success"`
}

type ReplaceChargeUserResponse struct {
	IsSuccess bool `json:"is_success"`
}

type GetClueTrackerListResponse struct {
	List  []*ClueTracker `json:"list"`
	Total int32          `json:"total"`
}

type ClueTracker struct {
	Id         int64  `json:"id"`
	ClueId     int64  `json:"clue_id"`
	UserId     int64  `json:"user_id"`
	Name       string `json:"name"`
	IsInCharge int32  `json:"is_in_charge"`
}

type SaveClueContactResponse struct {
	Id int64 `json:"id"`
}

type DeleteClueContactResponse struct {
	IsSuccess bool `json:"is_success"`
}

type GetClueContactListResponse struct {
	List  []*ClueContact `json:"list"`
	Total int32          `json:"total"`
}

type ClueContact struct {
	Id          int64  `json:"id"`
	ClueId      int64  `json:"clue_id"`
	Name        string `json:"name"`
	CompanyName string `json:"company_name"`
	Position    string `json:"position"`
	Mobile      string `json:"mobile"`
}

type AddClueFollowRecordResponse struct {
	Id int64 `json:"id"`
}

type GetClueFollowRecordListResponse struct {
	List  []*ClueFollowRecord `json:"list"`
	Total int32               `json:"total"`
}

type ClueFollowRecord struct {
	Id              int64    `json:"id"`
	ClueId          int64    `json:"clue_id"`
	FollowType      int32    `json:"follow_type"`
	FollowStatus    string   `json:"follow_status"`
	ClueStatus      int32    `json:"clue_status"`
	Content         string   `json:"content"`
	CreatedOn       string   `json:"created_on"`
	CreatedUsername string   `json:"created_username"`
	ContactId       int64    `json:"contact_id"`
	ContactName     string   `json:"contact_name"`
	ContactMobile   string   `json:"contact_mobile"`
	FromSource      int32    `json:"from_source"`
	TalkContent     []string `json:"talk_content"`
}

type GetInChargeUserListResponse struct {
	List  []*InChargeUserInfo `json:"list"`
	Total int32               `json:"total"`
}

type InChargeUserInfo struct {
	UserId int64  `json:"user_id"`
	Name   string `json:"name"`
}

type GetClueContactDetailByIdResponse struct {
	ClueContact
}

type AddClueSourceFollowResponse struct {
	IsNewClue bool `json:"is_new_clue"`
}
